放下烤肉,在這裡學程式才屌啊!
當你程式寫不出來的時候,千萬不要把電腦拿去烤,生財工具很重要!!
慘了!這看起來有點像肉串
一維陣列就是把東西放在一個中括號裡面,只是更謹慎的定義每個元素存放的不是陣列,更精確來說,在討論陣列時,基本上每個元素都是數字!其他更詳細的討論我們在[Day5]Python也有櫃子?已有詳盡說明了!
其實越看越像烤肉網XD
二維陣列就是我們從高中所學的矩陣(matrix or array),此時跟一維陣列不同之處在於,此時最外層的中括號中的元素基本上還是一個陣列,簡單而言就是在陣列中才有陣列。若要呼叫陣列中某一個元素時,先找出他所在的列(row)再行(column),而其個別的index也是從0開始。
我們利用上面的那個陣列在python嘗試進行簡單指令:
import numpy as np
A=[[0,1,2,3,4],[1,11,21,31,41],[2,12,22,32,42],[3,13,23,33,43]] #2-D list
print(A[1]) #output:[1,11,21,31,41]
print(A[2][3]) #output:32
print(len(A)) #output:4
print(len(A[3])) #output:5
print(np.shape(A)) #output:(4,5) #先row再col.
這啥都不像...把我從烤肉氛圍打回現實QQ
從二維陣列大概也可以推知就是最外層的[]
立面有第二層[]
,第二層[]
裡面還有[]
,這時候就會構成一個很像魔術方塊的三維陣列,其他規則遵循二維陣列再放大。以上面為例在這一個陣列L裡面有三層,我們稱為有3 pages,而再拿元素的時候我們會利用 L[page][row][col]
呼叫我們的元素。
這次我們利用隨機變數創造一個3x3x3的陣列吧
import numpy as np
B=np.random.randint(1,30,(3,3,3))
#[[[ 9 11 11]
# [20 26 25]
# [ 5 22 14]]
#上面為page0
# [[ 5 6 13]
# [ 2 9 14]
# [ 8 19 4]]
#上面為page1
# [[ 3 17 7]
# [21 28 27]
# [19 6 22]]]
#上面為page2
print(np.shape(B)) #output:(3,3,3) #先row再col.
print(len(A)) #output:3
print(B[2][1]) #output:[21, 28, 27]
print(B[1][2][0]) #output:8
好啦~今天就到這裡吧
該去買肉了~連假第一天我們就...輕鬆一點吧XD
今天的練習就是大家練習一下4維陣列到底怎麼操作呢?
感謝您的撰文,讓我們初學者可以透過it邦幫忙及google搜尋環境,快速精確的學習到課本以外的程式觀念。
以下程式片段有需要修改的部份,提供給您參考:
import numpy as np
B=np.random.randint(1,30,(3,3,3))
.
.
.
print(np.shape(B))
print(len(A)) =====> 應該修改成 print(len(B)) 程式方能順利運作